package com.ztorn.cdc;

import com.ztorn.common.model.FlinkCDCConfig;
import com.ztorn.common.model.Table;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

public interface SinkBuilder {

    String getHandle();

    SinkBuilder create(FlinkCDCConfig config);

    DataStreamSource build(
            CDCBuilder cdcBuilder,
            StreamExecutionEnvironment env,
            DataStreamSource<String> dataStreamSource);

    String getSinkSchemaName(Table table);

    String getSinkTableName(Table table);
}
